#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDockWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLabel>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //一个窗口可以添加多个浮动窗口
    //一个浮动窗口中只能添加一个Widget
    //我们如果想向这个浮动窗口添加多个widget控件的话，需要创建一个子widget,在往这个子widget中添加多个widget

    //创建一个浮动窗口
    QDockWidget *dockWidget = new QDockWidget;
    dockWidget->setWindowTitle("浮动窗口");

    //添加浮动窗口
    this->addDockWidget(Qt::LeftDockWidgetArea,dockWidget);

    //创建子widget
    QWidget *widget = new QWidget;
    //创建布局管理器
    QVBoxLayout * layout = new QVBoxLayout;
    //创建控件
    QPushButton *button = new QPushButton("按钮1");
    QLabel *label = new QLabel("hello Qt");
    label->setAlignment(Qt::AlignCenter);
    QPushButton *button2 = new QPushButton("按钮2");

    //将控件设置进布局管理器
    layout->addWidget(button);
    layout->addWidget(button2);
    layout->addWidget(label);

    //将布局管理器设置进Qwidget
    widget->setLayout(layout);

    //将Qwidget设置进浮动窗口
    dockWidget->setWidget(widget);
}

MainWindow::~MainWindow()
{
    delete ui;
}

